package com.liaogui.consumer.shiro.util;

import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.io.UnsupportedEncodingException;
import java.util.Date;

@Slf4j
@Component
public class JwtUtil {

    private static final String secret = "secret";

    /**
     * 创建token
     */
//    public static String createToken(String username, Long time) throws UnsupportedEncodingException {
//        long expiration = System.currentTimeMillis() + time;
//        Date expireDate = new Date(expiration);
//        String token = JWT.create()
//                .withClaim("sys_username", username)
//                .withExpiresAt(expireDate)
//                .sign(Algorithm.HMAC256(secret));
//        log.info("用户：{} =====> token：{}", username, token);
//        return token;
//    }
//
//    /**
//     * 校验token是否正确
//     */
//    public static boolean verify(String token, String username) throws UnsupportedEncodingException, TokenExpiredException {
//        Algorithm algorithm = Algorithm.HMAC256(secret);
//        JWTVerifier verifier = JWT.require(algorithm)
//                .withClaim("sys_username", username)
//                .build();
//        verifier.verify(token);
//        return true;
//    }
//
//    /**
//     * 解析token，获取用户名
//     */
//    public static String getUsername(String token) {
//        DecodedJWT decode = JWT.decode(token);
//        return decode.getClaim("sys_username").asString();
//    }
}